<?php
class Paises_model extends CI_Model
{
	
    function obtenAnho()
    {
        $data=array();
        $q2 = $this->db->select('numero_anho');
        $q2 = $this->db->group_by('numero_anho');
		$q2 = $this->db->order_by('numero_anho','desc');
		$q2 = $this->db->get('report_eval_alumn');
        foreach ($q2->result_array() as $row2){
            $data[] = $row2;
        }
        return($data);
    }
    function obtenCiclo($id)
    {
        $data=array();
         
        $q2 = $this->db->select('numero_anho,ciclo_anho');
        $q2 = $this->db->where('numero_anho',$id);
        $q2 = $this->db->group_by('numero_anho,ciclo_anho');
		$q2 = $this->db->get('report_eval_alumn');
        foreach ($q2->result_array() as $row2){
            $data[] = $row2;
        }
        return($data);
    }
    function obtenUniAcad($id,$id2)
    {
       $data=array();
         
/*        $q2 = $this->db->select('codigo_unidad,nombre_unidad');
        $q2 = $this->db->where('numero_anho',$id);
		$q2 = $this->db->where('ciclo_anho',$id2);
        $q2 = $this->db->group_by('codigo_unidad,nombre_unidad');
		$q2 = $this->db->get('report_eval_alumn');*/

		$sql="SELECT 
  unidad_academica.codigo as codigo_unidad, 
  unidad_academica.nombre as  nombre_unidad
FROM 
  public.respuesta_alumno, 
  public.unidad_academica, 
  public.materia
WHERE 
  unidad_academica.codigo = materia.codigo_unidad_academica AND
  materia.codigo = respuesta_alumno.codigo_materia_grupo AND
  materia.codigo_carrera = respuesta_alumno.codigo_carrera_materia_grupo AND
  materia.plan_estudios_carrera = respuesta_alumno.plan_estudios_carrera_materia_grupo AND
  respuesta_alumno.numero_anho_grupo = ? AND
  respuesta_alumno.ciclo_anho_grupo = ?
GROUP BY
  unidad_academica.codigo, 
  unidad_academica.nombre;";


        $q2 = $this->db->query($sql,array($id,$id2));
		foreach ($q2->result_array() as $row2){
            $data[] = $row2;
        }
        return($data);
    }

	function obtenLista($uno,$dos,$tres)
    {
        $data=array();
        
$sql = "SELECT codigo_unidad, nombre_unidad, nombre_personal, nombre_apellidos, 
       numero_anho, ciclo_anho, nombre_instancia, 
       inicio, fin, round(avg(nota),2) promedio_ciclo, count(*)
  FROM report_eval_alumn WHERE 
  numero_anho = ? and ciclo_anho like ? and codigo_unidad like ?
group by codigo_unidad, nombre_unidad, nombre_personal, nombre_apellidos, 
       numero_anho, ciclo_anho, nombre_instancia, 
       inicio, fin
order by promedio_ciclo desc";
				$q2 = $this->db->query($sql,array($uno,$dos,$tres));
				//return $query -> result();

		
        //$q2 = $this->db->select('codigo_unidad,nombre_unidad');
        //$q2 = $this->db->where('numero_anho',$id);
        //$q2 = $this->db->group_by('codigo_unidad,nombre_unidad');
		//$q2 = $this->db->get('report_eval_alumn');
        foreach ($q2->result_array() as $row2){
            $data[] = $row2;
        }
        return($data);
    }

function get_news($number_items,$offset,$uno,$dos,$tres)

{
	$query = $this->db->order_by('promedio_ciclo', 'desc');
	$query = $this->db->get_where('reporte10mas', 
		array('numero_anho' => $uno,'ciclo_anho' => $dos,'codigo_unidad' => $tres), $number_items, $offset);
	//$query = $this->db->where('reporte10mas',$number_items,$offset);
	//$query = $this->db->get('reporte10mas',$number_items,$offset);
	return $query;

}



function get_total_number_news($uno,$dos,$tres)
{
	$this->db->where('numero_anho',$uno);
	$this->db->where('ciclo_anho',$dos);
	$this->db->where('codigo_unidad',$tres);
	$this->db->from('reporte10mas');
	return $this->db->count_all_results();
	//return $this->db->count_all('reporte10mas');
}
  	
function obtenUCA($uno,$dos,$tres)
{	
	 $data=array();
	 
	$sql = "SELECT nombre_unidad, ( 'CICLO ' || CASE WHEN ciclo_anho='P' THEN 'II'
            WHEN ciclo_anho = 'I' THEN 'I'
            ELSE 'INF' 
       END || ' ' || numero_anho) as ciclo_anho
  FROM reporte10mas
  where numero_anho = ? and ciclo_anho like ? and codigo_unidad like ? group by nombre_unidad, numero_anho, ciclo_anho;";
  
  
  $q2 = $this->db->query($sql,array($uno,$dos,$tres));
        foreach ($q2->result_array() as $row2){
            $data[] = $row2;
        }
        return($data);
  

}


function obtenDocente($uni)
{	
	 $data=array();

	$sql = "SELECT 
  personal.codigo, 
  personal.nombre || ' ' || personal.apellidos as fullname, 
  unidad_academica.codigo as codigo_unidad, 
  unidad_academica.nombre as nombre_unidad
FROM 
  public.respuesta_alumno, 
  public.personal, 
  public.materia, 
  public.unidad_academica
WHERE 
  respuesta_alumno.codigo_personal = personal.codigo AND
  respuesta_alumno.plan_estudios_carrera_materia_grupo = materia.plan_estudios_carrera AND
  materia.codigo = respuesta_alumno.codigo_materia_grupo AND
  materia.codigo_carrera = respuesta_alumno.codigo_carrera_materia_grupo AND
  unidad_academica.codigo = materia.codigo_unidad_academica AND
  unidad_academica.codigo = ?
group by
  personal.codigo, 
  personal.nombre, 
  personal.apellidos, 
  unidad_academica.codigo, 
  unidad_academica.nombre";
  
  
  $q2 = $this->db->query($sql,array($uni));
        foreach ($q2->result_array() as $row2){
            $data[] = $row2;
        }
        return($data);
  

}

function obtenMaterias($uno,$dos,$tres)
{	
	 $data=array();

	$sql = "SELECT 
  materia.codigo, 
  materia.nombre,
  count(*) as conteo
FROM 
  public.nota_alumno, 
  public.materia
WHERE 
  nota_alumno.codigo_materia_grupo = materia.codigo AND
  nota_alumno.codigo_carrera_materia_grupo = materia.codigo_carrera AND
  nota_alumno.plan_estudios_carrera_materia_grupo = materia.plan_estudios_carrera AND
  numero_anho_grupo = ? AND
  ciclo_anho_grupo like ? AND
  codigo_personal like ?  
group by
  materia.codigo, 
  materia.nombre;";
  
  
  $q2 = $this->db->query($sql,array($uno,$dos,$tres));
        foreach ($q2->result_array() as $row2){
            $data[] = $row2;
        }
        return($data);
  

}

function obtenMateriasxGrupo($uno,$dos,$tres,$cuatro)
{	
	 $data=array();

	$sql = "SELECT 
  materia.codigo AS codigo,
  respuesta_alumno.numero_grupo AS numero,
  count(*)/14 conteo
FROM 
  public.respuesta_alumno, 
  public.materia, 
  public.opcion_multiple, 
  public.pregunta
WHERE 
  respuesta_alumno.id_opcion = opcion_multiple.id_opcion AND
  respuesta_alumno.id_pregunta = opcion_multiple.id_pregunta AND
  materia.codigo = respuesta_alumno.codigo_materia_grupo AND
  materia.codigo_carrera = respuesta_alumno.codigo_carrera_materia_grupo AND
  materia.plan_estudios_carrera = respuesta_alumno.plan_estudios_carrera_materia_grupo AND
  pregunta.id_pregunta = respuesta_alumno.id_pregunta AND
  pregunta.id_instrumento = respuesta_alumno.id_instrumento AND 
  numero_anho_grupo = ? AND 
  ciclo_anho_grupo like ? AND 
  codigo_unidad_academica like ? AND 
  codigo_personal = ?
GROUP BY
  materia.codigo,
  respuesta_alumno.numero_grupo";
  
  
  $q2 = $this->db->query($sql,array($uno,$dos,$tres,$cuatro));
        foreach ($q2->result_array() as $row2){
            $data[] = $row2;
        }
        return($data);
  

}


function get_RED($uno,$dos,$tres)
{	
	 $data=array();
	 
	$sql = "SELECT 
  unidad_academica.codigo,
  unidad_academica.nombre, 
  pregunta.id_pregunta, 
  pregunta.pregunta, 
  opcion_multiple.id_opcion, 
  opcion_multiple.opcion, 
  opcion_multiple.grado, 
  respuesta_alumno.numero_anho_grupo, 
  respuesta_alumno.ciclo_anho_grupo, 
  round(avg(respuesta_alumno.respuesta/opcion_multiple.grado),2)


FROM 
  public.unidad_academica, 
  public.materia, 
  public.opcion_multiple, 
  public.pregunta, 
  public.respuesta_alumno 
  
WHERE 
  unidad_academica.codigo = materia.codigo_unidad_academica AND
  materia.codigo = respuesta_alumno.codigo_materia_grupo AND
  materia.codigo_carrera = respuesta_alumno.codigo_carrera_materia_grupo AND
  materia.plan_estudios_carrera = respuesta_alumno.plan_estudios_carrera_materia_grupo AND
  opcion_multiple.id_pregunta = pregunta.id_pregunta AND
  respuesta_alumno.id_instrumento = pregunta.id_instrumento AND
  respuesta_alumno.id_pregunta = pregunta.id_pregunta AND 
  respuesta_alumno.numero_anho_grupo = ? AND
  respuesta_alumno.ciclo_anho_grupo like ? AND
  unidad_academica.codigo like ?
GROUP BY
  unidad_academica.codigo, 
  unidad_academica.nombre, 
  pregunta.id_pregunta, 
  pregunta.pregunta, 
  opcion_multiple.id_opcion, 
  opcion_multiple.opcion, 
  opcion_multiple.grado, 
  respuesta_alumno.numero_anho_grupo, 
  respuesta_alumno.ciclo_anho_grupo
 ORDER BY
  pregunta.id_pregunta,opcion_multiple.id_opcion;";
  
  
  $q2 = $this->db->query($sql,array($uno,$dos,$tres));
        foreach ($q2->result_array() as $row2){
            $data[] = $row2;
        }
        return($data);
  

}

function get_RED_pre($uno,$dos,$tres)
{	
	 $data=array();
	 
	$sql = "SELECT 
  unidad_academica.codigo,
  unidad_academica.nombre, 
  pregunta.id_pregunta, 
  pregunta.pregunta, 
  respuesta_alumno.numero_anho_grupo, 
  respuesta_alumno.ciclo_anho_grupo, 
  round(avg(respuesta_alumno.respuesta/opcion_multiple.grado),2)

FROM 
  public.unidad_academica, 
  public.materia, 
  public.pregunta, 
  public.opcion_multiple, 
  public.respuesta_alumno
WHERE 
  unidad_academica.codigo = materia.codigo_unidad_academica AND
  materia.codigo = respuesta_alumno.codigo_materia_grupo AND
  materia.codigo_carrera = respuesta_alumno.codigo_carrera_materia_grupo AND
  materia.plan_estudios_carrera = respuesta_alumno.plan_estudios_carrera_materia_grupo AND
  opcion_multiple.id_pregunta = pregunta.id_pregunta AND
  respuesta_alumno.id_instrumento = pregunta.id_instrumento AND
  respuesta_alumno.id_pregunta = pregunta.id_pregunta AND 
  respuesta_alumno.numero_anho_grupo = ? AND
  respuesta_alumno.ciclo_anho_grupo like ? AND
  unidad_academica.codigo like ?
GROUP BY
  unidad_academica.codigo, 
  unidad_academica.nombre, 
  pregunta.id_pregunta, 
  pregunta.pregunta, 
  respuesta_alumno.numero_anho_grupo, 
  respuesta_alumno.ciclo_anho_grupo
 ORDER BY
  pregunta.id_pregunta;";
  
  
  $q2 = $this->db->query($sql,array($uno,$dos,$tres));
        foreach ($q2->result_array() as $row2){
            $data[] = $row2;
        }
        return($data);
  

}    

function get_RED_pro($uno,$dos,$tres)
{	
	 $data=array();
	 
	$sql = "SELECT 
  unidad_academica.codigo,
  unidad_academica.nombre, 
  pregunta.id_pregunta, 
  pregunta.pregunta, 
  respuesta_alumno.numero_anho_grupo, 
  respuesta_alumno.ciclo_anho_grupo, 
  pregunta.peso,
  round(avg(respuesta_alumno.respuesta/opcion_multiple.grado)*pregunta.peso,2) as promedio

FROM 
  public.unidad_academica, 
  public.materia, 
  public.opcion_multiple, 
  public.pregunta, 
  public.respuesta_alumno
WHERE 
  unidad_academica.codigo = materia.codigo_unidad_academica AND
  materia.codigo = respuesta_alumno.codigo_materia_grupo AND
  materia.codigo_carrera = respuesta_alumno.codigo_carrera_materia_grupo AND
  materia.plan_estudios_carrera = respuesta_alumno.plan_estudios_carrera_materia_grupo AND
  opcion_multiple.id_pregunta = pregunta.id_pregunta AND
  respuesta_alumno.id_instrumento = pregunta.id_instrumento AND
  respuesta_alumno.id_pregunta = pregunta.id_pregunta AND 
  respuesta_alumno.numero_anho_grupo = ? AND
  respuesta_alumno.ciclo_anho_grupo like ? AND
  unidad_academica.codigo like ?
GROUP BY
  unidad_academica.codigo, 
  unidad_academica.nombre, 
  pregunta.id_pregunta, 
  pregunta.pregunta, 
  respuesta_alumno.numero_anho_grupo, 
  respuesta_alumno.ciclo_anho_grupo,
  pregunta.peso
 ORDER BY
  pregunta.id_pregunta;";
  
  
  $q2 = $this->db->query($sql,array($uno,$dos,$tres));
        foreach ($q2->result_array() as $row2){
            $data[] = $row2;
        }
        return($data);
  

}   


function get_cabecera_RxD($uno,$dos,$tres,$cuatro)
{	
	 $data=array();
	 
	$sql = "SELECT 
  personal.codigo AS codigo_personal, 
  personal.nombre || ' ' || personal.apellidos AS nombre_docente,  
  materia.codigo AS codigo_materia, 
  materia.nombre AS nombre_materia, 
  unidad_academica.codigo AS codigo_unidad_academica, 
  unidad_academica.nombre AS nombre_unidad_academica, 
  ( 'CICLO ' || CASE WHEN ciclo_anho_grupo='P' THEN 'II'
            WHEN ciclo_anho_grupo = 'I' THEN 'I'
            ELSE 'INF' 
       END || ' ' || numero_anho_grupo) as ciclo_anho,
  respuesta_alumno.numero_grupo
FROM 
  public.respuesta_alumno, 
  public.materia, 
  public.unidad_academica, 
  public.personal
WHERE 
  materia.codigo = respuesta_alumno.codigo_materia_grupo AND
  materia.codigo_carrera = respuesta_alumno.codigo_carrera_materia_grupo AND
  materia.plan_estudios_carrera = respuesta_alumno.plan_estudios_carrera_materia_grupo AND
  unidad_academica.codigo = materia.codigo_unidad_academica AND
  personal.codigo = respuesta_alumno.codigo_personal AND
  numero_anho_grupo = ? AND 
  ciclo_anho_grupo like ? AND 
  codigo_unidad_academica like ? AND 
  codigo_personal = ?
group by
  personal.codigo, 
  personal.nombre || ' ' || personal.apellidos,  
  materia.codigo, 
  materia.nombre, 
  unidad_academica.codigo, 
  unidad_academica.nombre, 
  ( 'CICLO ' || CASE WHEN ciclo_anho_grupo='P' THEN 'II'
            WHEN ciclo_anho_grupo = 'I' THEN 'I'
            ELSE 'INF' 
       END || ' ' || numero_anho_grupo),
  respuesta_alumno.numero_grupo;";
  
  
  $q2 = $this->db->query($sql,array($uno,$dos,$tres,$cuatro));
        foreach ($q2->result_array() as $row2){
            $data[] = $row2;
        }
        return($data);
  

}


function get_preguntas_RxD($uno,$dos,$tres,$cuatro)
{	
	 $data=array();	
	$sql = "SELECT 
  respuesta_alumno.id_instrumento, 
  respuesta_alumno.id_pregunta, 
  pregunta.pregunta, 
  materia.codigo, 
  materia.codigo_unidad_academica
FROM 
  public.respuesta_alumno, 
  public.pregunta, 
  public.materia
WHERE 
  pregunta.id_pregunta = respuesta_alumno.id_pregunta AND
  pregunta.id_instrumento = respuesta_alumno.id_instrumento AND
  materia.codigo = respuesta_alumno.codigo_materia_grupo AND
  materia.codigo_carrera = respuesta_alumno.codigo_carrera_materia_grupo AND
  materia.plan_estudios_carrera = respuesta_alumno.plan_estudios_carrera_materia_grupo AND  
  numero_anho_grupo = ? AND 
  ciclo_anho_grupo like ? AND 
  codigo_unidad_academica like ? AND 
  codigo_personal = ?
GROUP BY
  respuesta_alumno.id_instrumento, 
  respuesta_alumno.id_pregunta, 
  pregunta.pregunta, 
  materia.codigo, 
  materia.codigo_unidad_academica
   ORDER BY 4,2;
  ";
  
  $q2 = $this->db->query($sql,array($uno,$dos,$tres,$cuatro));
        foreach ($q2->result_array() as $row2){
            $data[] = $row2;
        }
        return($data);
  

}

	
function get_opciones_RxD($uno,$dos,$tres,$cuatro)
{	
	 $data=array();	
	$sql="SELECT 
  materia.codigo AS codigo_materia,
  respuesta_alumno.numero_grupo AS numero_grupo,
  opcion_multiple.id_pregunta, 
  opcion_multiple.id_opcion, 
  opcion_multiple.opcion, 
  round(avg(respuesta_alumno.respuesta/opcion_multiple.grado),2) AS promedio
FROM 
  public.respuesta_alumno, 
  public.materia, 
  public.opcion_multiple, 
  public.pregunta
WHERE 
  respuesta_alumno.id_opcion = opcion_multiple.id_opcion AND
  respuesta_alumno.id_pregunta = opcion_multiple.id_pregunta AND
  materia.codigo = respuesta_alumno.codigo_materia_grupo AND
  materia.codigo_carrera = respuesta_alumno.codigo_carrera_materia_grupo AND
  materia.plan_estudios_carrera = respuesta_alumno.plan_estudios_carrera_materia_grupo AND
  pregunta.id_pregunta = respuesta_alumno.id_pregunta AND
  pregunta.id_instrumento = respuesta_alumno.id_instrumento AND 
  numero_anho_grupo = ? AND 
  ciclo_anho_grupo like ? AND 
  codigo_unidad_academica like ? AND 
  codigo_personal = ?
GROUP BY
  materia.codigo,
  respuesta_alumno.numero_grupo,
  opcion_multiple.id_pregunta, 
  opcion_multiple.id_opcion, 
  opcion_multiple.opcion ORDER BY 3;";
  
  $q2 = $this->db->query($sql,array($uno,$dos,$tres,$cuatro));
        foreach ($q2->result_array() as $row2){
            $data[] = $row2;
        }
        return($data);
  

}	

function get_promedios_RxD($uno,$dos,$tres,$cuatro)
{	
	 $data=array();	
	$sql="SELECT 
  materia.codigo AS codigo_materia,
  respuesta_alumno.numero_grupo AS numero_grupo,
  opcion_multiple.id_pregunta,
  pregunta.peso,
  round(avg(respuesta_alumno.respuesta/opcion_multiple.grado)*pregunta.peso,2) as promedio
FROM 
  public.respuesta_alumno, 
  public.materia, 
  public.opcion_multiple, 
  public.pregunta
WHERE 
  respuesta_alumno.id_opcion = opcion_multiple.id_opcion AND
  respuesta_alumno.id_pregunta = opcion_multiple.id_pregunta AND
  materia.codigo = respuesta_alumno.codigo_materia_grupo AND
  materia.codigo_carrera = respuesta_alumno.codigo_carrera_materia_grupo AND
  materia.plan_estudios_carrera = respuesta_alumno.plan_estudios_carrera_materia_grupo AND
  pregunta.id_pregunta = respuesta_alumno.id_pregunta AND
  pregunta.id_instrumento = respuesta_alumno.id_instrumento AND 
  numero_anho_grupo = ? AND 
  ciclo_anho_grupo like ? AND 
  codigo_unidad_academica like ? AND 
  codigo_personal = ?
GROUP BY
  materia.codigo,
  respuesta_alumno.numero_grupo,
  opcion_multiple.id_pregunta,
  pregunta.peso";
  
  $q2 = $this->db->query($sql,array($uno,$dos,$tres,$cuatro));
        foreach ($q2->result_array() as $row2){
            $data[] = $row2;
        }
        return($data);
  

}

    function obtenUniAcadtotal()
    {
        $data=array();
         
        //$q2 = $this->db->select('codigo_unidad,nombre_unidad');
        //$q2 = $this->db->where('numero_anho',$id);
		//$q2 = $this->db->where('ciclo_anho',$id2);
        //$q2 = $this->db->group_by('codigo_unidad,nombre_unidad');
		//$q2 = $this->db->get('report_eval_alumn');
        $sql = "SELECT 
  unidad_academica.codigo AS codigo_unidad, 
  unidad_academica.nombre AS nombre_unidad
FROM 
  public.personal, 
  public.se_compone, 
  public.unidad_academica, 
  public.respuesta_alumno
WHERE 
  se_compone.codigo_personal_docente = personal.codigo AND
  unidad_academica.codigo = se_compone.codigo_unidad_academica AND
  respuesta_alumno.codigo_personal = personal.codigo GROUP BY 
  unidad_academica.codigo, 
  unidad_academica.nombre;"; 
		//

        
   $q2 = $this->db->query($sql);
        foreach ($q2->result_array() as $row2){
            $data[] = $row2;
        }
        return($data);
    }

	function obtenydata($uno)
	{
	
	$data=array();	
	$sql="SELECT 
  nota_alumno.numero_anho_grupo, 
  nota_alumno.ciclo_anho_grupo, 
  nota_alumno.codigo_personal, 
  ( 'CICLO ' || CASE WHEN ciclo_anho_grupo='P' THEN 'II'
            WHEN ciclo_anho_grupo = 'I' THEN 'I'
            ELSE 'INF' 
       END || ' ' || numero_anho_grupo) as ciclo_anho,
  round(avg(nota_alumno.round),2) AS nota
FROM 
  public.nota_alumno
WHERE
  codigo_personal=?
GROUP BY
  nota_alumno.numero_anho_grupo, 
  nota_alumno.ciclo_anho_grupo, 
  nota_alumno.codigo_personal,
  ( 'CICLO ' || CASE WHEN ciclo_anho_grupo='P' THEN 'II'
            WHEN ciclo_anho_grupo = 'I' THEN 'I'
            ELSE 'INF' 
       END || ' ' || numero_anho_grupo)
ORDER BY 1,2;";
  
   $q2 = $this->db->query($sql,array($uno));
        foreach ($q2->result_array() as $row2){
            $data[] = $row2;
        }
        return($data);
  
	}
	
		function cabeceragraph($uno,$dos)
	{
	
	$data=array();	
	$sql="SELECT 
  personal.codigo AS codigo_personal, 
  personal.nombre || ' ' || personal.apellidos AS nombre_full, 
  unidad_academica.codigo AS codigo_unidad, 
  unidad_academica.nombre AS nombre_unidad
FROM 
  public.personal, 
  public.se_compone, 
  public.unidad_academica
WHERE 
  se_compone.codigo_personal_docente = personal.codigo AND
  unidad_academica.codigo = se_compone.codigo_unidad_academica AND
  personal.codigo = ? AND unidad_academica.codigo=?
order by
  fecha_inicio desc
LIMIT 1;";
  
   $q2 = $this->db->query($sql,array($dos,$uno));
        foreach ($q2->result_array() as $row2){
            $data[] = $row2;
        }
        return($data);
  
	}
	
	
}
?>
